package com.songlanyun.modules.singlegoods.controller.admin;

import java.util.Arrays;
import java.util.Map;

//import org.apache.shiro.authz.annotation.RequiresPermissions;
import com.songlanyun.modules.user.controller.AbstractController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.songlanyun.modules.singlegoods.entity.ProductSingleGoodsStockRecordEntity;
import com.songlanyun.modules.singlegoods.service.ProductSingleGoodsStockRecordService;
import com.songlanyun.common.utils.PageUtils;
import com.songlanyun.common.utils.R;



/**
 * 单品的库存变动记录表
 *
 * @author lubo
 * @email sunlightcs@gmail.com
 * @date 2020-11-04 09:03:01
 */
@RestController
@RequestMapping("admin/stockrecord")
public class ProductSingleGoodsStockRecordAdminController extends AbstractController {
    @Autowired
    private ProductSingleGoodsStockRecordService productSingleGoodsStockRecordService;

    /**
     * 分页查询单品出库入库明细
     * params参数说明
     * shop_id 商家店铺id必给
     * single_goods_id 单品id(可以从单品列表点过来，查看某个单品下的明细)（可以不给）
     * single_goods_code 单品编码（可以不给，如果给了不要和single_goods_id同时使用）
     * single_goods_title 单品标题（可以不给，如果给了不要和single_goods_id同时使用）
     * stock_change_mode 出入库类型（可以不给，0代表是入库，1是出库）
     * in_stock_type 入库类型（可以不给，如果stock_change_mode=0，则in_stock_type有效，应给的类型值可以见inStockType枚举）
     * out_stock_type 出库类型（可以不给，如果stock_change_mode=1，则out_stock_type有效，应给的类型值可以见OuterStockType枚举）
     * start_time 开始时间（可以不给，给了格式为yyyy-MM-dd HH:mm:ss）
     * end_time 结束时间（可以不给，给了格式为yyyy-MM-dd HH:mm:ss）
     * page 当前第几页（默认第一页）
     * limit 每页多少条 （默认每页10条）
     */
    @RequestMapping("/pages")
    //@RequiresPermissions("singlegoods:stockrecord:list")
    public R pages(@RequestParam Map<String, Object> params){
        params.put("shop_id",this.getShopId());
        PageUtils page = productSingleGoodsStockRecordService.queryPage(params);
        return R.ok().put("page", page);
    }


    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    //@RequiresPermissions("singlegoods:stockrecord:info")
    public R info(@PathVariable("id") Long id){
		ProductSingleGoodsStockRecordEntity productSingleGoodsStockRecord = productSingleGoodsStockRecordService.getById(id);
        return R.ok().put("data", productSingleGoodsStockRecord);
    }



}
